<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>外边距的折叠</title>
    <style>
        /* 
          /* 
            垂直外边距的重叠（折叠）
                - 相邻的垂直方向外边距会发生重叠现象
                - 兄弟元素
                    - 兄弟元素间的相邻垂直外边距会取两者之间的较大值（两者都是正值）
                    - 特殊情况：
                        如果相邻的外边距一正一负，则取两者的和
                        如果相邻的外边距都是负值，则取两者中绝对值较大的

                    - 兄弟元素之间的外边距的重叠，对于开发是有利的，所以我们不需要进行处理
                - 父子元素
                    - 父子元素间相邻外边距，子元素的会传递给父元素（上外边距）
                    - 父子外边距的折叠会影响到页面的布局，必须要进行处理

                对于父子元素的外边距折叠问题可以使用伪元素的方法创建一个元素display:table 
                或者在父类中overflow:hidden开启一个新的BFC   
        
         */

         *{
             margin: 0;
             padding: 0;
         }

        .box1{
            width: 300px;
            height: 300px;
            background-color: yellowgreen;
            margin-bottom: 100px;
        }

        .box2{
            width: 300px;
            height: 300px;
            background-color: aquamarine;
            margin-top: 120px;
        }

        .box3{
            height: 280px;
            width: 300px;
            background-color: blueviolet;
                 /* 解决方法： 1.为父元素设置一个border */
                   /* border-top: 1px solid blueviolet ; */
                 /* 解决方法： 2.为父元素设置一个padding */
                    /* padding-top: 20px;  */

        }

        .box4{
            height: 200px;
            width: 200px;
            background-color: chartreuse;
            /* 为子元素设置  margin-top会把父元素给挤下来 因为子元素和父元素的外边距相邻，修改子元素的会影响父元素的*/
           
          

            margin-top: 30px;
        }
         

    </style>
</head>
<body>
    <!-- <div class="box1"></div>
    <div class="box2"></div> -->

    <div class="box3">
        <div class="box4"></div>
    </div>
</body>
</html>